package elems;

import errors.MyCompilError;
import errors.MyError;
import strings.Str;

import java.util.*;

/**
 * User: MiF
 * Date: 29.12.11
 * Time: 16:39
 */
public class Skin {
    private static boolean gets = false;
    private static LinkedList<String> skins = new LinkedList<String>(Arrays.asList("def"));

    public static void add(String skinName) throws MyCompilError, MyError {
        if (gets)
            throw new MyCompilError("Попытка добавить скин '" + skinName + "' после инициализации");
        if(skins.contains(skinName))
            throw new MyError("Попытка добавить повторяющийся скин '" + skinName + "'");
        skins.add(skinName);
    }

    public static boolean isSkinPresent(String skinName) {
        gets=true;
        return skins.contains(skinName);
    }

    public static int getNum(Str str, String skinName) throws MyError {
        if (!isSkinPresent(skinName))
            throw new MyError(str, "Обнаружен неизвестный скин '" + skinName + "'");
        return skins.indexOf(skinName);
    }
}
